package com.zhiwen.domain.event;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 通知事件（RabbitMQ消息对象）
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class NotificationEvent implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 事件类型(1-问题回答, 2-回答评论, 3-回答被采纳, 4-内容审核, 5-系统通知)
     */
    private Integer type;

    /**
     * 接收者ID
     */
    private Long receiverId;

    /**
     * 发送者ID
     */
    private Long senderId;

    /**
     * 问题ID
     */
    private Long questionId;

    /**
     * 回答ID
     */
    private Long answerId;

    /**
     * 评论ID
     */
    private Long commentId;

    /**
     * 内容类型（1-问题，2-回答，3-评论）
     */
    private Integer contentType;

    /**
     * 内容ID
     */
    private Long contentId;

    /**
     * 审核结果
     */
    private Integer reviewResult;

    /**
     * 备注
     */
    private String remark;

    /**
     * 通知标题
     */
    private String title;

    /**
     * 通知内容
     */
    private String content;
}
